package grape.attend.service.user.clock;

import grape.attend.service.classe.po.Classe;
import grape.attend.service.clock.po.Clock;
import grape.attend.service.group.po.Group;
import grape.attend.service.user.dto.GroupAndClasseDto;
import grape.attend.service.user.po.UserClock;
import grape.attend.service.user.po.UserClockDate;
import grape.base.service.dict.po.Dict;
import grape.composite.service.workcalendar.po.WorkCalendar;
import lombok.Data;

import java.util.Date;

/**
 * Created by yangwei
 * Created at 2020/5/27 10:58
 */
@Data
public class PreClockParam {
    // 考勤组
    private Group group;
    // 班次
    private Classe classe;
    // 班次日期
    private Date classeDate;
    // 打卡日期
    private UserClockDate userClockDate;
    // 当前班次数据库中的打卡记录
    private UserClock dbUserClock;
    // 前一个班次的打卡记录
    private UserClock preUserClock;
    // 班次的下一个班次
    private GroupAndClasseDto nextGroupAndClasse;
    // 班次的上一个班次
    private GroupAndClasseDto preGroupAndClasse;
    // 打卡配置
    private Clock clock;
    // 打卡配置方式字典
    private Dict clockTypeDict;
    // 当前时间戳
    private Long now;
    // 班次开始的时间戳
    private Long classeStartAt;
    // 班次结束的时间戳
    private Long classeEndAt;

    // 休息开始的时间戳
    private Long classeRestStartAt;
    // 休息结束的时间戳
    private Long classeRestEndAt;

    // 班次是否跨天
    private Boolean isClasseCrossDay;

    // 工作日历设置
    private WorkCalendar classeDatewWorkCalendar;
    // 班次日期的设置类型
    private WorkCalendar.DateType classeDateDateType;
    // 班次日期的工作类型
    private WorkCalendar.Type classeDateType;
}
